﻿//《C语言从入门到精通》P135~140
// 第 5 章 数  组
// 5.3 字符数组
// 8、字符数组的初始化与输入输出

#include<stdio.h>

int main()
{
	int i;

	// 可以一个一个字符初始化，这时用单引号：''
	char c1[6] = { 'H', 'e', 'l', 'l', 'o', '\0' };

	// 也可以直接初始化一个字符串，这时用双引号：""
	char c2[7] = { "World!" };
	// 由于字符串有一个结束标志“\n”，上面的赋值等价于：
	// char c2[7] = { 'W', 'o', 'r', 'l', 'd', '!', '\0' };

	// 如果要用字符串赋值，这种情况下省略数组大小可以方便日后修改，系统会根据字符串长度自动调整数组大小
	char c3[] = { "abcdefghijk" };

	// 可以直接调用数组名输出，但是经常会出问题，不推荐！
	printf(c1);
	printf(c2);
	printf("\n\n");


	// 可以利用格式符“%c”，进行逐个输入输出
	printf("【字符串的逐个输入输出】\n");
	printf("请输入：\n");
	for (i = 0; i < 10; i++)
	{
		scanf_s("%c", &c3[i], 1);
	}
	printf("已输入：\n");
	for (i = 0; i < 10; i++)
	{
		printf("%c", c3[i]);
	}
	printf("\n\n");
	getch();

	// 也可以利用格式符“%s”将整个字符串依次输入输出
	printf("【字符串的整体输入输出】\n");
	printf("请输入：\n");
	scanf_s("%s", c3, 10);

	printf("已输入：\n");
	printf("%s \n\n", c3);

	return 0;
}
